//
// Created by liyinbin on 2021/12/26.
//

#ifndef SCYLLA_API_TYPES_H_
#define SCYLLA_API_TYPES_H_

#include <string>
#include "scylla/api/status.h"

namespace scylla {

    struct key_value {
        std::string key;
        std::string value;

        bool operator==(const key_value &kv) const {
            return (kv.key == key && kv.value == value);
        }

        bool operator<(const key_value &kv) const {
            return key < kv.key;
        }
    };

    struct value_status {
        std::string value;
        status status;

        bool operator==(const value_status &vs) const {
            return (vs.value == value && vs.status == status);
        }
    };

    struct field_value {
        std::string field;
        std::string value;

        bool operator==(const field_value &fv) const {
            return (fv.field == field && fv.value == value);
        }
    };

}  // namespace scylla

#endif  // SCYLLA_API_TYPES_H_
